跳到主要内容

API可用类型

所有的bot api返回的对象都是json格式的

User#

表示fanbook的用户或者机器人.

FieldTypeDescription
idInteger用户或者是机器人的唯一标识id
is_botBooleantrue表示是机器人
first_nameString
last_nameStringOptional. 名字
usernameStringOptional. username字段(有些文档也称为fanbook id)
language_codeStringOptional. 用户语言的IETF语言标签
can_join_groupsBooleanOptional. True, 机器人是否可以被邀请进服务器. 该参数仅通过 getMe获取.
can_read_all_group_messagesBooleanOptional. 如果privacy_mode设置为true,则表示可以接收服务器的所有消息. 该参数仅通过 getMe获取.
supports_inline_queriesBooleanOptional. 机器人是否支持内联查询(关于内联查询见API方法文档描述), 该参数仅通过 getMe获取。
pendingBoolean可选. 如果服务器开启了游客模式,新进来的用户未完成服务器新人的入门仪式时,pending为true,表示是游客.

Chat#

表示一个Chat对象.

FieldTypeDescription
idIntegerchat的id. 64位的整形
typeStringchat的类型,目前定义有“private”,“channel” ,“group”,“supergroup”
titleStringOptional. chat的标题
usernameStringOptional. fanbook的id
first_nameStringOptional. 目前填充的用户的nickname
last_nameStringOptional. 没有使用
photo[ChatPhoto]({{< ref "/docs/API可用类型#chatphoto" >}})Optional. chat的背景图. fanbook目前尚未定义,预留 [getChat]({{< ref "/docs/API可用方法#getchat" >}}).
descriptionStringOptional. 描述,目前尚未定义,预留 [getChat]({{< ref "/docs/API可用方法#getchat" >}}).
invite_linkStringOptional. 邀请链接. 目前尚未实现exportChatInviteLink方法 [exportChatInviteLink]({{< ref "/docs/API可用类型#exportchatinvitelink" >}}). getChat方法尚未实现 [getChat]({{< ref "/docs/API可用方法#getchat" >}}).
pinned_message[Message]({{< ref "/docs/API可用类型#message" >}})Optional. pin的消息列表,尚未定义,预留 [getChat]({{< ref "/docs/API可用方法#getchat" >}}).

Message#

消息对象.

FieldTypeDescription
message_idInteger消息的唯一ID,由fanbook服务生成
fromUserOptional. 消息发送者
dateInteger消息发送的时间,unix时间戳
chatChatmessage所属的chat对象
forward_fromUserOptional. 转发消息时,原始消息的发送者,预留,尚未使用
forward_from_chatChatOptional. 转发消息时,原始消息的chat id,预留,尚未使用
forward_from_message_idIntegerOptional. 转发消息时,原始消息的message_id,预留,尚未使用
forward_signatureStringOptional. 转发消息时,转发者的签名,预留,尚未使用
forward_sender_nameStringOptional. 转发者的用户名
forward_dateIntegerOptional. 转发消息时,表示原始消息的发送时间,unix时间戳
reply_to_messageMessageOptional. 回复某消息时,原始消息对象
via_botUserOptional. bot发送的消息
edit_dateIntegerOptional. 最后一次消息的编辑时间,unix时间戳
media_group_idStringOptional. 流媒体channel或者group的id,预留,尚未定义
author_signatureStringOptional. 消息发送者的签名,预留,尚未定义
textStringOptional. 消息的文本内容,最大102400个字节
entitiesArray of MessageEntityOptional. 消息的entities对象,对于文本消息,entities包含fanbook id,urls和机器人命令等
animationAnimationOptional. 动画对象
audioAudioOptional. 音频文件对象
documentDocumentOptional. 文件对象
photoArray of PhotoSizeOptional. 图片对象
stickerStickerOptional. 预留,尚未定义
videoVideoOptional. 视频对象
video_noteVideoNoteOptional. videonote对象
voiceVoiceOptional. voice对象
captionStringOptional. 标题
caption_entitiesArray of MessageEntityOptional. 对于带有标题的消息,需要特殊的实体,如用户名、网址、机器人命令等。出现在标题中 ,预留,尚未定义
contactContactOptional. 联系人对象
diceDiceOptional. 骰子,1~6的随机值
gameGameOptional. game对象 game »
pollPollOptional. 投票类的消息
venueVenueOptional. 场所对象
locationLocationOptional. 位置对象
new_chat_membersArray of UserOptional. 如果是新人加入了服务器或者群的话,表示加入者这个user对象,可以包含多个
left_chat_memberUserOptional. 如果是离开服务器或者群,表示离开人的user对象,可以包含多个
new_chat_titleStringOptional. 新的聊天标题,预留,尚未定义
new_chat_photoArray of PhotoSizeOptional. 新的聊天背景图片,预留,尚未定义
delete_chat_photoTrueOptional. 聊天背景图被删除了,预留,尚未定义
group_chat_createdTrueOptional. 群聊天刚创建,预留,尚未定义
supergroup_chat_createdTrueOptional. 服务消息:超级组已创建。此字段不能在通过更新发送的消息中接收,因为bot在创建时不能成为超级组的成员。只有当有人回复直接创建的超级组中的第一条消息时,才能在reply_to_message中找到它。预留,尚未定义
channel_chat_createdTrueOptional. 频道已创建。此字段不能在通过更新发送的消息中接收,因为bot在创建时不能成为频道的成员。只有当有人回复频道中的第一条消息时,才能在reply_to_message中找到它。预留,尚未使用
migrate_to_chat_idIntegerOptional. 该组已迁移到具有指定标识符的超级组。64位整形。预留,尚未定义
migrate_from_chat_idIntegerOptional. 该超级组已从具有指定标识符的组中迁移。64位整形。预留,尚未定义
pinned_messageMessageOptional. 已经被pin的消息对象
invoiceInvoiceOptional. 对于交易类的业务,表示交易凭证(发票)对象,预留,尚未定义
successful_paymentSuccessfulPaymentOptional. 交易对象,预留,尚未定义
reply_markupInlineKeyboardMarkupOptional. 内联键盘. login_url按钮被表示为普通的url按钮

MessageEntity(预留,尚未使用)#

该对象表示文本消息中的一个特殊实体。例如,标签、用户名、网址等。

FieldTypeDescription
typeString消息实体的类型. 可以是“艾特”(@username)、“hashtag”(# hashtag)、“cash tag”($ USD)、“bot command”(/start @ jobs bot)、“URL”(https://telegram . org)、“email”(do-not-reply @ telegram . org)、“phone _ number”(+1-212-555-0123)、“bold”(粗体文本)、“italic”(斜体文本)、“下划线”(下划线文本)、“删除线”(删除线文本)、“code”(mono width string)、“pre”(mono width block)、“text_link”
offsetInteger以UTF-16代码单位表示的到实体开始的偏移量
lengthInteger以UTF-16代码单位表示的实体长度
urlStringOptional. 仅适用于“文本链接”,用户点击文本后将打开的url
userUserOptional. 仅对于“文本艾特”,提及的用户对象
languageStringOptional. 仅用于“pre”,实体文本的编程语言

GuildCredit#

这个对象表示服务台授予给用户的荣誉

FieldTypeDescription
authorityCreditAuthority荣誉颁发者
titleCreditTitle可选,荣誉 title,展示在聊天会话中的个人头像右侧
slotsArray of CreditSlot array荣誉槽,展示在个人信息页,是二维数组

CreditAuthority#

这个对象表示服务台荣誉颁发者的形象简介信息

FieldTypeDescription
iconString荣誉颁发者形象 logo url 地址
nameString荣誉颁发者名称

CreditTitle#

这个对象表示服务台授予给用户的主要荣誉称号,展示在服务台用户列表中

FieldTypeDescription
imgString荣誉 Title 图形 url 地址

CreditSlot#

这个对象表示服务台授予给用户的基本荣誉称号,可以有多个,展示在服务台用户个人信息页面

FieldTypeDescription
labelString荣誉文本标题,与 img 二选一
imgString荣誉图形标题,与 label 二选一
valueString荣誉值本值

GameCredit#

这个对象表示服务台授予给用户游戏战绩

FieldTypeDescription必填
typeInteger4=游戏勋章;5=自定义卡片
game_nameString游戏名称(type=5的时候必填)
game_iconString游戏icon(type=5的时候必填)
imageString背景图 (type=4使用)
tap_infoString跳转文案
tap_urlString跳转链接
widget_dataString自定义卡片数据(type=5的时候必填)
main_infoMainInfo卡片头部(type=4的时候必填)
text_infoArray[TextInfo]卡片数据(type=4的时候必填)

MainInfo#

战绩卡片type=4的时候卡片头部数据区

FieldTypeDescription
titleStringhead头
sub_titleStringhead头傍边的提示
textString文案值

TextInfo#

战绩卡片type=4的时候卡片头部数据区

FieldTypeDescription
nameString内容名
valueString内容值

Audio#

音频文件对象,可以被fanbook的客户端当做音乐文件。

FieldTypeDescription
file_idString文件标识,可以用于下载或者重用该文件
file_unique_idString该文件的唯一标识符,随着时间的推移和不同的机器人,它应该是相同的。不能用于下载或重用文件。
durationInteger音频文件播放持续时长,秒为单位
performerStringOptional. 音频的制作人
titleStringOptional. 标题
mime_typeStringOptional. MIME类型
file_sizeIntegerOptional. 文件大小
thumbPhotoSizeOptional. 缩略图,或者说音频文件的封面

Document#

这个对象代表一个普通文件(相对于照片、语音消息和声音文件)。

FieldTypeDescription
file_idString文件标识,可以用于下载该文件,一般是指url
file_unique_idString该文件的唯一标识符,随着时间的推移和不同的机器人,它应该是相同的。不能用于下载或重用文件。
thumbPhotoSizeOptional. 文档的缩略图
file_nameStringOptional. 文件名称
mime_typeStringOptional. 文件的MIME 类型
file_sizeIntegerOptional. 文件大小

Video#

视频文件对象.

FieldTypeDescription
file_idString文件标识,可以用于下载该文件,一般是指url
file_unique_idString该文件的唯一标识符,随着时间的推移和不同的机器人,它应该是相同的。不能用于下载或重用文件。
widthInteger视频的宽度
heightInteger视频的高度
durationInteger视频播放的持续时间,秒为单位
thumbPhotoSizeOptional. 视频的封面缩略图
mime_typeStringOptional. 文件的MIME类型
file_sizeIntegerOptional. 文件大小

VideoNote#

此对象表示一条视频消息

FieldTypeDescription
file_idString文件标识,可以用于下载该文件,一般是指url
file_unique_idString该文件的唯一标识符,随着时间的推移和不同的机器人,它应该是相同的。不能用于下载或重用文件。
lengthInteger发送方定义的视频宽度和高度(视频消息的直径)
durationInteger视频播放的持续时间,秒为单位
thumbPhotoSizeOptional. 缩略图
file_sizeIntegerOptional. 文件大小

Voice#

语音消息。

FieldTypeDescription
file_idString文件标识,可以用于下载该文件,一般是指url
file_unique_idString该文件的唯一标识符,随着时间的推移和不同的机器人,它应该是相同的。不能用于下载或重用文件。
durationInteger语音播放的持续时间,秒为单位
mime_typeStringOptional. 文件的MIME类型
file_sizeIntegerOptional. 文件大小

Contact(预留,尚未使用)#

此对象表示一个电话联系人。

FieldTypeDescription
phone_numberString联系人的电话
first_nameString联系人的姓
last_nameStringOptional. 联系人的名字
user_idIntegerOptional. 用户id
vcardStringOptional. 以电子名片形式提供的有关联系人的附加数据

Dice(预留,尚未定义)#

该对象表示显示随机值的动画表情符号.

FieldTypeDescription
emojiString骰子投掷动画所基于的表情符号
valueInteger骰子的数值,1-6代表以"????"和"????"为底的表情符号,1-5代表"????"为底的表情符号

PollOption#

此对象包含有关投票中一个答案选项的信息。

FieldTypeDescription
textString选项文本,1-100个字符
voter_countInteger投票支持此选项的用户数量

PollAnswer#

此对象表示用户在非匿名投票中的答案。

FieldTypeDescription
poll_idString唯一轮询标识符
userUser提交投票答案的用户
option_idsArray of Integer用户选择的基于0的答案选项标识符。如果用户撤回投票,则可能为空。

Poll#

投票对象

FieldTypeDescription
idString投票的唯一id
questionString投票问题,1-255个字符
optionsArray of PollOption选项列表
total_voter_countInteger投票的用户总数
is_closedBoolean投票是否结束
is_anonymousBoolean是否匿名
typeString投票类型,目前可以是“regular(常规)”或“quiz(测验)”
allows_multiple_answersBooleanTrue, if the poll allows multiple answers
correct_option_idIntegerOptional. 正确答案选项的基于0的标识符。仅适用于测验模式下的投票,该模式已关闭,或由机器人发送(未转发)或用于与机器人的私人聊天。
explanationStringOptional. 当用户选择不正确的答案或在测验式投票中点击灯图标时显示的文本,0-200个字符
explanation_entitiesArray of MessageEntityOptional. 用户名、网址、机器人命令等特殊实体。出现在解释中
open_periodIntegerOptional. 创建后轮询处于活动状态的时间(秒)
close_dateIntegerOptional. 轮询将自动关闭的时间点(Unix时间戳)

Location(预留,尚未使用)#

地图位置对象

FieldTypeDescription
longitudeFloat发送者定义的纬度
latitudeFloat发送者定义的经度

Venue#

地里场地对象

FieldTypeDescription
locationLocation位置
titleString名字
addressString地址
foursquare_idStringOptional. 地理的四方标识符
foursquare_typeStringOptional. 四方形的场地。(例如,“artsentertainment/default”、“arts entertainment/水族箱”或“食物/冰淇淋”)。)

UserProfilePhotos#

这个对象代表用户的个人资料图片。

FieldTypeDescription
total_countInteger目标用户拥有的个人资料图片总数
photosArray of Array of PhotoSize请求的个人资料图片(每个最多4种尺寸)

File#

该对象表示准备下载的文件,缓存在服务器上的文件具有缓存时长,在缓存期间可以下载,超过后缓存失效。

Maximum file size to download is 20 MB

FieldTypeDescription
file_idString该文件的标识符,可用于下载或重用该文件
file_unique_idString该文件的唯一标识符,随着时间的推移和不同的机器人,它应该是相同的。不能用于下载或重用文件
file_sizeIntegerOptional. 文件大小
file_pathStringOptional. 文件路径.

ReplyKeyboardMarkup#

此对象代表一个有回复选项自定义键盘。

FieldTypeDescription
keyboardArray of Array of KeyboardButtonKeyboardButton 对象数组
resize_keyboardBooleanOptional. 请求客户端垂直调整键盘大小以获得最佳适合度(例如,如果只有两行按钮,则使键盘变小)。默认为false,在这种情况下,自定义键盘的高度始终与应用程序的标准键盘相同。
one_time_keyboardBooleanOptional. 一旦键盘被使用,就请求客户端隐藏它。键盘仍将可用,但客户将在聊天中自动显示通常的字母键盘,用户可以按下输入栏中的特殊按钮再次查看自定义键盘。默认为false。
selectiveBooleanOptional. 如果您只想向特定用户显示键盘,请使用此参数。目标:1)消息对象文本中@提到的用户;2)如果机器人的消息是回复(具有reply_to_message_id),则为原始消息的发送者。示例:用户请求更改机器人的语言,机器人用键盘回复请求以选择新语言。组中的其他用户看不到键盘。

KeyboardButton#

此对象表示回复键盘的一个按钮。对于简单的文本按钮,可以使用字符串代替该对象来指定按钮的文本。可选字段request_contact、request_location和request_poll是互斥的.

FieldTypeDescription
textString按钮的文本. 如果没有使用任何可选字段,当按下按钮时,它将作为消息发送
request_contactBooleanOptional. 如果为TRUE,当按下按钮时,用户的电话号码将作为联系人发送。仅在私人聊天中可用
request_locationBooleanOptional. 如果为TRUE, 则按下按钮时将发送用户的当前位置。仅在私人聊天中可用
request_pollKeyboardButtonPollTypeOptional. 如果设置,用户将被要求创建一个投票,并在按钮被按下时将其发送给机器人。仅在私人聊天中可用

KeyboardButtonPollType#

此对象表示投票类型的按钮,当按下相应的按钮时,允许创建和发送投票.

FieldTypeDescription
typeStringOptional. If quiz is passed, the user will be allowed to create only polls in the quiz mode. If regular is passed, only regular polls will be allowed. Otherwise, the user will be allowed to create a poll of any type. 如果为“quiz”,用户将只能在测验模式下创建测验。如果为“regular”,将只允许常规投票。否则,用户将被允许创建任何类型的投票

ReplyKeyboardRemove#

收到带有此对象的消息后,客户端将删除当前的自定义键盘,并显示默认字母键盘。默认情况下,自定义键盘会一直显示,直到机器人发送新键盘。用户按下按钮后立即隐藏的一次性键盘除外.

FieldTypeDescription
remove_keyboardTrue请求客户端移除自定义键盘(用户将无法调用此键盘;如果您想隐藏键盘,但保持其可访问性,请在ReplyKeyboardMarkup中使用一次性键盘)
selectiveBooleanOptional. 如果您只想为特定用户移除键盘,请使用此参数。目标:1)消息对象文本中@提到的用户;2)如果机器人的消息是回复(具有reply_to_message_id),则为原始消息的发送者。示例:用户在投票中投票,bot返回确认消息以回复投票,并为该用户移除键盘,同时仍向尚未投票的用户显示带有投票选项的键盘。

InlineKeyboardMarkup#

此对象表示一个内联键盘,它就出现在它所属的消息旁边。

FieldTypeDescription
inline_keyboardArray of Array of InlineKeyboardButton多行按钮, 每个都是 InlineKeyboardButton 对象

InlineKeyboardButton#

此对象表示内联键盘的一个按钮。您必须使用可选字段中的一个.

FieldTypeDescription
textString按钮上的文本
urlStringOptional. 按下按钮时,会打开url的链接地址
app_idStringOptional. 按下按钮时,会打开app_id的链接小程序
login_urlLoginUrlOptional. 用于自动授权用户的HTTP网址。预留,尚未使用
callback_dataStringOptional. 按下按钮后,会向机器人发送 callback query 的数据
switch_inline_queryStringOptional. 如果设置,按下按钮将提示用户选择他们的聊天之一,打开该聊天,并在输入字段中插入机器人的用户名和指定的内联查询。可以为空,在这种情况下,将只插入机器人的用户名。注意:这为用户提供了一种简单的方法,当他们当前正在与你的机器人进行私人聊天时,可以在内嵌模式下开始使用它。当与switch_pm…动作结合时特别有用——在这种情况下,用户将自动返回到他们切换的聊天,跳过聊天选择屏幕。
switch_inline_query_current_chatStringOptional. 如果设置,按下按钮将在当前聊天的输入字段中插入机器人的用户名和指定的内联查询。可以为空,在这种情况下,将只插入机器人的用户名。这为用户在同一个聊天中以内嵌模式打开你的机器人提供了一个快速的方法——非常适合从多个选项中选择。
callback_gameCallbackGameOptional. 用户按下按钮时将启动游戏。注意:这种类型的按钮必须始终是第一行的第一个按钮。
payBooleanOptional. 指定“TRUE”,发送支付按钮。注意:这种类型的按钮必须始终是第一行的第一个按钮。

比如发送一个带有"确定"和"取消"按钮的内联键盘:

"reply_markup": {"inline_keyboard": [[{"text": "确定","callback_data": "confirm#>{\"command\":\"confirm\",\"data\":{\"credit_apply\":{\"guild_id\":259248080753266688,\"user_id\":135398049852686336,\"status\":true,\"apply_data\":{\"server_id\":\"302\",\"pid\":\"3568780\"},\"updated_at\":1628066996,\"created_at\":1628066996,\"message_id\":263587296580730880},\"unbind\":{\"guild_id\":259248080753266688,\"user_id\":135398049852686336,\"unbind_times\":1,\"latest_unbind_time\":1627141034},\"username\":\"655690\",\"nickname\":\"Allen.Lee\"}}"}],[{"text": "取消","callback_data": "cancle#>{\"command\":\"cancle\",\"data\":{\"credit_apply\":{\"guild_id\":259248080753266688,\"user_id\":135398049852686336,\"status\":true,\"apply_data\":{\"server_id\":\"302\",\"pid\":\"3568780\"},\"updated_at\":1628066996,\"created_at\":1628066996,\"message_id\":263587296580730880},\"unbind\":{\"guild_id\":259248080753266688,\"user_id\":135398049852686336,\"unbind_times\":1,\"latest_unbind_time\":1627141034},\"username\":\"655690\",\"nickname\":\"Allen.Lee\"}}"}]]}

text会展示为按钮的文本,callback_data是当用户点击按钮后,APP会发送一条消息给机器人,这条消息的内容是callback_data里的内容;因为callback_data是字符串的,所以我们也可以设计好这个文本格式,比如示例就是 confirm#>{"command":"xxx", "data":"xxx"},这样机器人收到消息后,通过这段文本,了解到用户是点击"确定"按钮的,携带的数据也在里面,对数据再做何种处理,那也是很自由的。

CallbackQuery#

点击callback按钮后,会发送一个CallbackQuery对象给机器人,如果callback button是附加在机器人发送的某消息中发送的,则CallbackQuery需指定Message对象,如果是附加在inline query的消息中,则需设置inline_message_id字段。

FieldTypeDescription
idString此查询的唯一标识符
fromUser发送者
messageMessageOptional. 带有发起查询的回调按钮的消息。请注意,如果消息太旧,消息内容和消息日期将不可用
inline_message_idStringOptional. 以内嵌模式通过bot发送的消息的标识符,该消息发起了查询。
chat_instanceString全局标识符,唯一对应于带有回叫按钮的消息发送到的聊天。对游戏高分有用。
dataStringOptional. 与回调按钮关联的数据。请注意,坏客户端可以在此字段中发送任意数据。
game_short_nameStringOptional. 要返回的游戏的简称,用作游戏的唯一标识符

GuildRole#

这个对象包含服务台角色的信息.

FieldTypeDescription
idInteger角色 ID
nameString角色名称
positionInteger角色优先级
permissionsInteger角色权限
colorInteger角色标签色值
managedbool(可选) 是否有管理者(true表示有管理者不能删除不能添加用户到角色下面)
member_countInteger(可选) // 角色下有多少人
tagObject(可选) 管理者机器人

权限的定义:

PERMISSIONVALUEDESCRIPTIONCHANNEL TYPE
CREATE_INSTANT_INVITE0x0000000001 (1 << 0)创建邀请链接T, V, S
KICK_MEMBERS *0x0000000002 (1 << 1)踢人的权限
BAN_MEMBERS *0x0000000004 (1 << 2)预留
ADMINISTRATOR *0x0000000008 (1 << 3)拥有所有权限
MANAGE_CHANNELS *0x0000000010 (1 << 4)管理和编辑频道的权限T, V, S
MANAGE_GUILD *0x0000000020 (1 << 5)管理和编辑服务器的权限
ADD_REACTIONS0x0000000040 (1 << 6)对消息表态的权限T
VIEW_AUDIT_LOG0x0000000080 (1 << 7)预留
PRIORITY_SPEAKER0x0000000100 (1 << 8)预留V
STREAM0x0000000200 (1 << 9)预留V
VIEW_CHANNEL0x0000000400 (1 << 10)查看频道的权限T, V, S
SEND_MESSAGES0x0000000800 (1 << 11)发送消息的权限T
SEND_TTS_MESSAGES0x0000001000 (1 << 12)预留T
MANAGE_MESSAGES *0x0000002000 (1 << 13)管理消息的权限,即可以删除其他用户发送的消息T
EMBED_LINKS0x0000004000 (1 << 14)预留T
ATTACH_FILES0x0000008000 (1 << 15)预留T
READ_MESSAGE_HISTORY0x0000010000 (1 << 16)读取历史消息的权限T
MENTION_EVERYONE0x0000020000 (1 << 17)允许艾特所有人的权限T
USE_EXTERNAL_EMOJIS0x0000040000 (1 << 18)预留T
VIEW_GUILD_INSIGHTS0x0000080000 (1 << 19)预留
CONNECT0x0000100000 (1 << 20)允许进入语音频道的权限V, S
SPEAK0x0000200000 (1 << 21)允许在语音频道说话的权限V
MUTE_MEMBERS0x0000400000 (1 << 22)在语音频道禁止别人说话的权限V, S
DEAFEN_MEMBERS0x0000800000 (1 << 23)预留V, S
MOVE_MEMBERS0x0001000000 (1 << 24)在语音频道踢人的权限V, S
USE_VAD0x0002000000 (1 << 25)预留V
CHANGE_NICKNAME0x0004000000 (1 << 26)预留
MANAGE_NICKNAMES0x0008000000 (1 << 27)预留
MANAGE_ROLES *0x0010000000 (1 << 28)管理角色的权限T, V, S
MANAGE_WEBHOOKS *0x0020000000 (1 << 29)预留T
MANAGE_EMOJIS_AND_STICKERS *0x0040000000 (1 << 30)管理表情符号的权限
MANAGE_CIRCLE0x0080000000 (1 << 31)管理圈子的权限T
REQUEST_TO_SPEAK0x0100000000 (1 << 32)预留S
MANAGE_THREADS *0x0400000000 (1 << 34)预留T
USE_PUBLIC_THREADS0x0800000000 (1 << 35)预留T
USE_PRIVATE_THREADS0x1000000000 (1 << 36)预留T
USE_EXTERNAL_STICKERS0x2000000000 (1 << 37)预留T

ChatMember#

描述了ChatMember对象

FieldTypeDescription
userUserUser对象
statusString在对话中的状态,包含 “creator”, “administrator”, “member”, “restricted”, “left” or “kicked”
rolesArray of GuildRoleOptional. 成员在当前服务器拥有的角色 ID 列表
custom_titleStringOptional. 预留
until_dateIntegerOptional. 预留
can_manage_guildBooleanOptional. 是否可以管理服务器
can_manage_channelsBooleanOptional. 是否可以管理频道
can_manage_rolesBooleanOptional. 是否可以管理角色
can_manage_emojisBooleanOptional. 是否可以管理表情
can_be_editedBooleanOptional. 如果机器人被允许编辑该用户的管理员权限,则为True
can_post_messagesBooleanOptional. 是否可在频道中发言
can_edit_messagesBooleanOptional. 是否可以其它用户发送的消息和pin消息
can_delete_messagesBooleanOptional. 预留,尚未定义
can_restrict_membersBooleanOptional. 预留,尚未定义
can_promote_membersBooleanOptional. 预留,尚未定义
can_change_infoBooleanOptional. 预留,尚未定义
can_invite_usersBooleanOptional. 预留,尚未定义
can_pin_messagesBooleanOptional. 预留,尚未定义
is_memberBooleanOptional. 预留,尚未定义
can_send_messagesBooleanOptional. 预留,尚未定义
can_send_media_messagesBooleanOptional. 预留,尚未定义
can_send_pollsBooleanOptional. 预留,尚未定义
can_send_other_messagesBooleanOptional. 预留,尚未定义
can_add_web_page_previewsBooleanOptional. 预留,尚未定义

BotCommand#

机器人的命令对象

FieldTypeDescription
commandString命令文本,1-32个字符。只能包含小写英文字母、数字和下划线。
descriptionString描述,3-256个字符
visible_levelInteger可见级别,0值表示公开可见,即所有人都能看见该命令,1值表示私聊可见,即跟机器人私聊时才能看见该命令,2值表示服务器的管理人员才能看到该命令
form_parametersStringBotCommandParameter类型的数组,表示该名字对应的表单参数
hideString消息是否隐藏,比如机器人有个“签到”命令,用户签到时,会发送“@签到机器人 签到”,如果设置了hide为true,则只有发送者可见看到这个消息,而其他的人是看不到该消息的。
clickableString是否可点击,即比如发送了一个cancel命令后,是不是还可以点击聊天页面中的cancal文本继续给机器人发送cancal命令
app_idString点击该命令后,弹出一个小程序,app_id为程序链接地址
urlString点击该命令后,弹出url链接页面,url为页面链接地址

BotCommandParameter#

机器人命令的参数表

FieldTypeDescription
iconStringOptional 参数图标
kStringOptional 参数的唯一标识key
vStringOptional 参数的值

Bot#

Bot对象的描述

FieldTypeDescription
bot_idi64bot的id
owner_idi64bot所有者的user_id
bot_nameStringbot的昵称
bot_descriptionStringbot的描述信息
bot_aboutString关于bot的一些详情
bot_avatarStringbot的头像图片地址
commandsArrayBotCommand的数组
webhookStringwebhook地址,webhook是一个url地址,必须是公网可访问的,当fanbook服务的服务器产生消息后,会把Update对象通过该url以http或者https的方式发送给机器人,目前没有支持这种方式,目前是通过getUpdate的长轮询的方案发送消息给机器人
enable_inline_modebool机器人以inline模式工作
join_group_allowedbool是否允许加入到频道
enable_group_privacy_modebool是否开启privacyMode,如果打开,则机器人可以接收所有频道的消息,否则只能接口私信,和频道里@机器人的消息

Channel#

描述服务器的频道或者DM的频道

FieldTypeDescription
channel_idString频道的ID
typeInteger频道的类型,参照[channe type](#Channel Type)定义
guild_idString服务器ID,如果是服务器的频道则有该字段,如果是DM频道或者群(group DM channel)则没有该字段
nameString频道名字
iconString频道图标,如果是群(group DM channel)则表示群的头像
user_limitInteger频道人数限制,对于群(group DM channel)才有人数限制
owner_idString群频道的所有者id,初始创建的群频道创建者就是群频道的owner
topicString频道的主题
permission_overwritesArray of PermissionOverwrite服务器频道的权限覆盖表,PermissionOverwrite对象的数组

Channel Type#

频道类型

TypeIDDescription
TextChannel0普通文本频道
VoiceChannel1语音频道
VideoChannel2视频频道
DMChannel3私聊频道
ClassChannel4频道分类
CircleChannel5圈子
LiveStreamChannel6直播频道
LinkChannel7链接频道
LiveRoomChannel8直播房间
TaskInduction9任务频道(预留)
GroupDMChannel10

PermissionOverwrite#

频道权限覆盖对象

FieldTypeDescription
idString角色或者是用户的id
action_typeString如果频道权限覆盖的是角色,则填“role”,如果权限覆盖的是用户,则填“user”;否则是无效定义
denyInteger拒绝的权限值
allowsInteger允许的权限值

GuildEmoji#

FieldTypeDescription
avatarString表情图片链接地址,最好是上传我我们的CDN服务器上
nameString服务器表情的名字
positionInteger服务器表情的位置
userString上传表情的用户ID
wIntegeremoji宽度像素
hIntegeremoji高度像素

Guild#

FieldTypeDescription
guild_idString服务器id
nameString服务器表情的名字
iconString服务器的图标
bannerString服务器的背景图片
descriptionString服务器的介绍信息
owner_idString服务器的owner的user_id
channelsArray of Channel服务器所有的频道列表
permissionsInteger所有人的最基本权限值,每个bit位代表一项权限

CirclePost 对象#

FieldTypeDescription
userUseruser对象,该圈子动态的作者
postCirclePostContent动态的内容对象
sub_infoCirclePostSubInfo动态的其它详情
doc_infoCirclePostDocInfo文档详情
coffee_infoCirclePostCoffeeInfo打赏咖啡详情

CirclePostContent 对象#

FieldTypeDescription
post_idString动态的ID
guild_idString圈子动态所在的服务器ID
channel_idString圈子动态所在的频道ID
topic_nameString动态所属的主题(分类)名字
titleString动态的标题
created_atString动态发表的时间点
contentString动态的内容
topic_idString动态的分类主题

CirclePostSubInfo 对象#

FieldTypeDescription
comment_totalInteger动态的评论数量
like_totalInteger动态的点赞(表态)数量
can_delInteger动态是否能够被删除
likedi32当前用户是否点赞过
like_idString当前点赞用户的user_id
is_topbool动态是否置顶
is_followbool动态是否被关注

CirclePostReaction#

FieldTypeDescription
recordsCirclePostReactionRecord[]表态的记录列表
sizeInteger当前分页的大小
list_idString当前分页最后一条表态的ID
nextbool是否还有下一分页

CirclePostReactionRecord#

FieldTypeDescription
user_idString表态记录的用户ID
avatarString表态记录的用户的头像
nicknameString表态记录的用户昵称
usernameString表态记录的用户短号
reaction_idString表态记录的ID

CirclePostComment#

FieldTypeDescription
recordsCirclePostCommentRecord[]圈子动态的评论的记录列表
postCirclePostDetail圈子动态的详情
itemCirclePostCommentRecord如果是回复评论,则会有该对象,表示被回复的评论内容本身
sizeInteger当前分页的大小
list_idString当前分页最后一条表态的ID
nextbool是否还有下一分页

CirclePostCommentRecord#

FieldTypeDescription
userUser圈子动态的评论的作者
commentCirclePostCommentContent圈子动态的回复内容本身

CirclePostCommentContent#

FieldTypeDescription
comment_idString评论的ID
quote_l1String如果是回复某条评论,则表示被回复的comment_id,如果是回复动态,则表示post_id
contentString回复或者评论的内容,富文本格式的
created_atInteger回复的时间点
like_totalInteger该回复点赞的数量
comment_totalInteger该评论的回复(评论)数量
replay_listCirclePostCommentRecord该评论的回复记录列表

CirclePostDocInfo#

FieldTypeDescription
typeString文档类型
titleString文档标题
user_idString文档作者
guild_idString服务器ID
created_atstring文档创建时间
roleInteger权限:1表示阅读权限,2表示编辑权限

CirclePostCoffeeInfo#

FieldTypeDescription
give_coffee_totalInteger打赏的咖啡总数
give_coffee_real_numberInteger实际打赏的总人数
is_give_coffeeInteger当前用户是否有打赏 1:有,0:无
give_coffee_detailCoffeeDetail打赏详情

CoffeeDetail#

FieldTypeDescription
idInteger打赏详情的记录ID
user_idString打赏用户的user_id
cntInteger
created_atInteger打赏时间

InviteCodeInfo#

邀请码详情对象

FieldTypeDescription
idInteger打赏详情的记录ID
user_idString打赏用户的user_id
cntInteger
created_atInteger打赏时间

GuildInviteCodeRecord#

服务器邀请码记录

FieldTypeDescription
codeString邀请码,不包含域名
inviter_nameString邀请人名称
channel_on_delString频道是否删除,1表示删除,0表示未删除
inviter_idString邀请者用户的user_id
avatarString邀请者头像
channel_nameString频道名称
expire_timeString失效时间: 0表示已失效,大于0表示还剩多少秒,-1表示永久不失效
number_lessString剩下多少次邀请人数
has_invitedString共邀请多少人
list_idString记录id
remarkString备注
timeString管理/邀请人设定的有效期 :-1表示永久有效
numberString管理/邀请人设定次数:-1表示无限制,大于0表示限制的次数
channel_idString邀请加入的频道ID
channel_typeInteger频道类型,如果邀请加入服务器则为null
post_idString圈子Id: 圈子分享来源会有post_id
urlString邀请码地址, 比如https://fanbook.mobi/ABCX